import UIKit

extension QKC where AA :NSTextStorage {
    open func layoutManagers_qk_g() -> QKC<AA,YY,ZZ, [NSLayoutManager] >{
		 self +^ self.value.layoutManagers
	}

    open func editedMask_qk_g() -> QKC<AA,YY,ZZ, NSTextStorage.EditActions >{
		 self +^ self.value.editedMask
	}

    open func editedRange_qk_g() -> QKC<AA,YY,ZZ, NSRange >{
		 self +^ self.value.editedRange
	}

    open func changeInLength_qk_g() -> QKC<AA,YY,ZZ, Int >{
		 self +^ self.value.changeInLength
	}

     open func delegate_qk_s(_ delegate:  NSTextStorageDelegate?) -> QKC<AA,YY,ZZ, NSTextStorageDelegate?>{
		return link(next: delegate).then_QK { $0.value.delegate = delegate }
	}
     open func delegate_qk_g() -> QKC<AA,YY,ZZ, NSTextStorageDelegate?>{
		 self +^ self.value.delegate
	}

    open func fixesAttributesLazily_qk_g() -> QKC<AA,YY,ZZ, Bool >{
		 self +^ self.value.fixesAttributesLazily
	}

    open func addLayoutManager_qk_f(_ aLayoutManager: NSLayoutManager) -> QKC<AA,YY,ZZ, NSLayoutManager>{
		 self +^ self.value.addLayoutManager(aLayoutManager) +^ aLayoutManager
	}

    open func removeLayoutManager_qk_f(_ aLayoutManager: NSLayoutManager) -> QKC<AA,YY,ZZ, NSLayoutManager>{
		 self +^ self.value.removeLayoutManager(aLayoutManager) +^ aLayoutManager
	}

    open func edited_qk_f(_ editedMask: NSTextStorage.EditActions, range editedRange: NSRange, changeInLength delta: Int) -> QKC<AA,YY,ZZ, NSTextStorage.EditActions>{
		 self +^ self.value.edited(editedMask, range:editedRange, changeInLength:delta) +^ editedMask
	}

    open func processEditing_qk_f() -> QKC<AA,YY,ZZ,Void>{
		 self +^ self.value.processEditing()
	}

    open func invalidateAttributes_qk_f(in range: NSRange) -> QKC<AA,YY,ZZ, NSRange>{
		 self +^ self.value.invalidateAttributes(in:range) +^ range
	}

    open func ensureAttributesAreFixed_qk_f(in range: NSRange) -> QKC<AA,YY,ZZ, NSRange>{
		 self +^ self.value.ensureAttributesAreFixed(in:range) +^ range
	}

}

